Update dependency scipy to v1.10.0 [SECURITY] #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
== 1.9.0
->==1.10.0
⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
CVE-2023-25399
A refcounting issue which leads to potential memory leak was discovered in scipy commit 8627df31ab in
Py_FindObjects()
function.Release Notes
scipy/scipy (scipy)
v1.10.0
: SciPy 1.10.0Compare Source
SciPy 1.10.0 Release Notes
SciPy
1.10.0
is the culmination of6
months of hard work. It containsmany new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with
python -Wd
and check forDeprecationWarning
s).Our development attention will now shift to bug-fix releases on the
1.10.x branch, and on adding new features on the main branch.
This release requires Python
3.8+
and NumPy1.19.5
or greater.For running on PyPy, PyPy3
6.0+
is required.Highlights of this release
scipy.datasets
) has been added, and isnow preferred over usage of
scipy.misc
for dataset retrieval.scipy.interpolate.make_smoothing_spline
function was added. Thisfunction constructs a smoothing cubic spline from noisy data, using the
generalized cross-validation (GCV) criterion to find the tradeoff between
smoothness and proximity to data points.
scipy.stats
has three new distributions, two new hypothesis tests, threenew sample statistics, a class for greater control over calculations
involving covariance matrices, and many other enhancements.
New features
scipy.datasets
introductionA new dedicated
datasets
submodule has been added. The submodulesis meant for datasets that are relevant to other SciPy submodules ands
content (tutorials, examples, tests), as well as contain a curated
set of datasets that are of wider interest. As of this release, all
the datasets from
scipy.misc
have been added toscipy.datasets
(and deprecated in
scipy.misc
).The submodule is based on Pooch
(a new optional dependency for SciPy), a Python package to simplify fetching
data files. This move will, in a subsequent release, facilitate SciPy
to trim down the sdist/wheel sizes, by decoupling the data files and
moving them out of the SciPy repository, hosting them externally and
downloading them when requested. After downloading the datasets once,
the files are cached to avoid network dependence and repeated usage.
Added datasets from
scipy.misc
:scipy.datasets.face
,scipy.datasets.ascent
,scipy.datasets.electrocardiogram
Added download and caching functionality:
scipy.datasets.download_all
: a function to download all thescipy.datasets
associated files at once.
scipy.datasets.clear_cache
: a simple utility function to clear cached datasetfiles from the file system.
scipy/datasets/_download_all.py
can be run as a standalone script forpackaging purposes to avoid any external dependency at build or test time.
This can be used by SciPy packagers (e.g., for Linux distros) which may
have to adhere to rules that forbid downloading sources from external
repositories at package build time.
scipy.integrate
improvementscomplex_func
toscipy.integrate.quad
, which can be setTrue
to integrate a complex integrand.scipy.interpolate
improvementsscipy.interpolate.interpn
now supports tensor-product interpolation methods(
slinear
,cubic
,quintic
andpchip
)slinear
,cubic
,quintic
andpchip
) inscipy.interpolate.interpn
andscipy.interpolate.RegularGridInterpolator
now allow values with trailingdimensions.
scipy.interpolate.RegularGridInterpolator
has a new fast path formethod="linear"
with 2D data, andRegularGridInterpolator
is noweasier to subclass
scipy.interpolate.interp1d
now can take a single value for non-splinemethods.
extrapolate
argument is available toscipy.interpolate.BSpline.design_matrix
,allowing extrapolation based on the first and last intervals.
scipy.interpolate.make_smoothing_spline
has been added. It is animplementation of the generalized cross-validation spline smoothing
algorithm. The
lam=None
(default) mode of this function is a clean-roomreimplementation of the classic
gcvspl.f
Fortran algorithm forconstructing GCV splines.
method="pchip"
mode was aded toscipy.interpolate.RegularGridInterpolator
. This mode constructs aninterpolator using tensor products of C1-continuous monotone splines
(essentially, a
scipy.interpolate.PchipInterpolator
instance perdimension).
scipy.sparse.linalg
improvementsThe spectral 2-norm is now available in
scipy.sparse.linalg.norm
.The performance of
scipy.sparse.linalg.norm
for the default case (Frobeniusnorm) has been improved.
LAPACK wrappers were added for
trexc
andtrsen
.The
scipy.sparse.linalg.lobpcg
algorithm was rewritten, yieldingthe following improvements:
accuracy for edge cases,
giving more accurate and orthonormal eigenvectors,
and drop the history of subsequent iterations,
LinearOperator
format input and thus allowa simple function handle of a callable object as an input,
than letting the algorithm fail.
scipy.linalg
improvementsscipy.linalg.lu_factor
now accepts rectangular arrays instead of being restrictedto square arrays.
scipy.ndimage
improvementsscipy.ndimage.value_indices
function provides a time-efficient method tosearch for the locations of individual values with an array of image data.
radius
argument is supported byscipy.ndimage.gaussian_filter1d
andscipy.ndimage.gaussian_filter
for adjusting the kernel size of the filter.scipy.optimize
improvementsscipy.optimize.brute
now coerces non-iterable/single-valueargs
into atuple.
scipy.optimize.least_squares
andscipy.optimize.curve_fit
now acceptscipy.optimize.Bounds
for bounds constraints.scipy.optimize.milp
.scipy.optimize.OptimizeResult
objects.parallel
,threads
,mip_rel_gap
) can nowbe passed to
scipy.optimize.linprog
withmethod='highs'
.scipy.signal
improvementsscipy.signal.windows.lanczos
was added to compute aLanczos window, also known as a sinc window.
scipy.sparse.csgraph
improvementsscipy.sparse.csgraph.dijkstra
has been improved, andstar graphs in particular see a marked performance improvement
scipy.special
improvementsscipy.special.powm1
, a ufunc with signaturepowm1(x, y)
, computesx**y - 1
. The function avoids the loss ofprecision that can result when
y
is close to 0 or whenx
is close to1.
scipy.special.erfinv
is now more accurate as it leverages the Boost equivalent underthe hood.
scipy.stats
improvementsAdded
scipy.stats.goodness_of_fit
, a generalized goodness-of-fit test foruse with any univariate distribution, any combination of known and unknown
parameters, and several choices of test statistic (Kolmogorov-Smirnov,
Cramer-von Mises, and Anderson-Darling).
Improved
scipy.stats.bootstrap
: Default method'BCa'
now supportsmulti-sample statistics. Also, the bootstrap distribution is returned in the
result object, and the result object can be passed into the function as
parameter
bootstrap_result
to add additional resamples or change theconfidence interval level and type.
Added maximum spacing estimation to
scipy.stats.fit
.Added the Poisson means test ("E-test") as
scipy.stats.poisson_means_test
.Added new sample statistics.
scipy.stats.contingency.odds_ratio
to compute both the conditionaland unconditional odds ratios and corresponding confidence intervals for
2x2 contingency tables.
scipy.stats.directional_stats
to compute sample statistics ofn-dimensional directional data.
scipy.stats.expectile
, which generalizes the expected value in thesame way as quantiles are a generalization of the median.
Added new statistical distributions.
scipy.stats.uniform_direction
, a multivariate distribution tosample uniformly from the surface of a hypersphere.
scipy.stats.random_table
, a multivariate distribution to sampleuniformly from m x n contingency tables with provided marginals.
scipy.stats.truncpareto
, the truncated Pareto distribution.Improved the
fit
method of several distributions.scipy.stats.skewnorm
andscipy.stats.weibull_min
now use an analyticalsolution when
method='mm'
, which also serves a starting guess toimprove the performance of
method='mle'
.scipy.stats.gumbel_r
andscipy.stats.gumbel_l
: analytical maximumlikelihood estimates have been extended to the cases in which location or
scale are fixed by the user.
scipy.stats.powerlaw
.Improved random variate sampling of several distributions.
scipy.stats.matrix_normal
,scipy.stats.ortho_group
,scipy.stats.special_ortho_group
, andscipy.stats.unitary_group
is faster.rvs
method ofscipy.stats.vonmises
now wraps to the interval[-np.pi, np.pi]
.scipy.stats.loggamma
rvs
method for smallvalues of the shape parameter.
Improved the speed and/or accuracy of functions of several statistical
distributions.
scipy.stats.Covariance
for better speed, accuracy, and user controlin multivariate normal calculations.
scipy.stats.skewnorm
methodscdf
,sf
,ppf
, andisf
methods now use the implementations from Boost, improving speed while
maintaining accuracy. The calculation of higher-order moments is also
faster and more accurate.
scipy.stats.invgauss
methodsppf
andisf
methods now use theimplementations from Boost, improving speed and accuracy.
scipy.stats.invweibull
methodssf
andisf
are more accurate forsmall probability masses.
scipy.stats.nct
andscipy.stats.ncx2
now rely on the implementationsfrom Boost, improving speed and accuracy.
logpdf
method ofscipy.stats.vonmises
for reliabilityin extreme tails.
isf
method ofscipy.stats.levy
for speed andaccuracy.
scipy.stats.studentized_range
for largedf
by adding an infinite degree-of-freedom approximation.
lower_limit
toscipy.stats.multivariate_normal
,allowing the user to change the integration limit from -inf to a desired
value.
entropy
ofscipy.stats.vonmises
for largeconcentration values.
Enhanced
scipy.stats.gaussian_kde
.scipy.stats.gaussian_kde.marginal
, which returns the desiredmarginal distribution of the original kernel density estimate distribution.
cdf
method ofscipy.stats.gaussian_kde
now accepts alower_limit
parameter for integrating the PDF over a rectangular region.scipy.stats.gaussian_kde.logpdf
to Cython,improving speed.
pdf
method ofscipy.stats.gaussian_kde
for improved multithreading performance.and accuracy.
Enhanced the result objects returned by many
scipy.stats
functionsconfidence_interval
method to the result object returned byscipy.stats.ttest_1samp
andscipy.stats.ttest_rel
.scipy.stats
functionscombine_pvalues
,fisher_exact
,chi2_contingency
,median_test
andmood
now returnbunch objects rather than plain tuples, allowing attributes to be
accessed by name.
multiscale_graphcorr
,anderson_ksamp
,binomtest
,crosstab
,pointbiserialr
,spearmanr
,kendalltau
, andweightedtau
have been renamed tostatistic
andpvalue
for consistency throughoutscipy.stats
.Old attribute names are still allowed for backward compatibility.
scipy.stats.anderson
now returns the parameters of the fitteddistribution in a
scipy.stats._result_classes.FitResult
object.plot
method ofscipy.stats._result_classes.FitResult
now acceptsa
plot_type
parameter; the options are'hist'
(histogram, default),'qq'
(Q-Q plot),'pp'
(P-P plot), and'cdf'
(empirical CDFplot).
scipy.stats.kstest
) now return thelocation (argmax) at which the statistic is calculated and the variant
of the statistic used.
Improved the performance of several
scipy.stats
functions.scipy.stats.cramervonmises_2samp
andscipy.stats.ks_2samp
withmethod='exact'
.scipy.stats.siegelslopes
.scipy.stats.mstats.hdquantile_sd
.scipy.stats.binned_statistic_dd
for severalNumPy statistics, and binned statistics methods now support complex data.
Added the
scramble
optional argument toscipy.stats.qmc.LatinHypercube
.It replaces
centered
, which is now deprecated.Added a parameter
optimization
to allscipy.stats.qmc.QMCEngine
subclasses to improve characteristics of the quasi-random variates.
Added tie correction to
scipy.stats.mood
.Added tutorials for resampling methods in
scipy.stats
.scipy.stats.bootstrap
,scipy.stats.permutation_test
, andscipy.stats.monte_carlo_test
now automatically detect whether the providedstatistic
is vectorized, so passing thevectorized
argumentexplicitly is no longer required to take advantage of vectorized statistics.
Improved the speed of
scipy.stats.permutation_test
for permutation types'samples'
and'pairings'
.Added
axis
,nan_policy
, and masked array support toscipy.stats.jarque_bera
.Added the
nan_policy
optional argument toscipy.stats.rankdata
.Deprecated features
scipy.misc
module and all the methods inmisc
are deprecated in v1.10and will be completely removed in SciPy v2.0.0. Users are suggested to
utilize the
scipy.datasets
module instead for the dataset methods.scipy.stats.qmc.LatinHypercube
parametercentered
has been deprecated.It is replaced by the
scramble
argument for more consistency with otherQMC engines.
scipy.interpolate.interp2d
class has been deprecated. The docstring of thedeprecated routine lists recommended replacements.
Expired Deprecations
There is an ongoing effort to follow through on long-standing deprecations.
The following previously deprecated features are affected:
cond
&rcond
kwargs inlinalg.pinv
scipy.linalg.blas.{clapack, flapack}
scipy.stats.NumericalInverseHermite
and removedtol
&max_intervals
kwargs fromscipy.stats.sampling.NumericalInverseHermite
local_search_options
kwarg frromscipy.optimize.dual_annealing
.Other changes
scipy.stats.bootstrap
,scipy.stats.permutation_test
, andscipy.stats.monte_carlo_test
now automatically detect whether the providedstatistic
is vectorized by looking for anaxis
parameter in thesignature of
statistic
. If anaxis
parameter is present instatistic
but should not be relied on for vectorized calls, users mustpass option
vectorized==False
explicitly.scipy.stats.multivariate_normal
will now raise aValueError
when thecovariance matrix is not positive semidefinite, regardless of which method
is called.
Authors
A total of 184 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
v1.9.3
: SciPy 1.9.3Compare Source
SciPy 1.9.3 Release Notes
SciPy
1.9.3
is a bug-fix release with no new featurescompared to
1.9.2
.Authors
A total of 31 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
v1.9.2
: SciPy 1.9.2Compare Source
SciPy 1.9.2 Release Notes
SciPy
1.9.2
is a bug-fix release with no new featurescompared to
1.9.1
. It also provides wheels for Python3.11
on several platforms.
Authors
A total of 14 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
v1.9.1
: SciPy 1.9.1Compare Source
SciPy 1.9.1 Release Notes
SciPy
1.9.1
is a bug-fix release with no new featurescompared to
1.9.0
. Notably, some important meson buildfixes are included.
Authors
A total of 8 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.